home *** CD-ROM | disk | FTP | other *** search
-
-
-
- uplevel(n) Tcl Built-In Commands
-
-
-
- _________________________________________________________________
-
- NAME
- uplevel - Execute a script in a different stack frame
-
- SYNOPSIS
- uplevel ?_l_e_v_e_l? _a_r_g ?_a_r_g ...?
- _________________________________________________________________
-
-
- DESCRIPTION
- All of the _a_r_g arguments are concatenated as if they had
- been passed to concat; the result is then evaluated in the
- variable context indicated by _l_e_v_e_l. Uplevel returns the
- result of that evaluation.
-
- If _l_e_v_e_l is an integer then it gives a distance (up the pro-
- cedure calling stack) to move before executing the command.
- If _l_e_v_e_l consists of # followed by a number then the number
- gives an absolute level number. If _l_e_v_e_l is omitted then it
- defaults to 1. _L_e_v_e_l cannot be defaulted if the first _c_o_m_-
- _m_a_n_d argument starts with a digit or #.
-
- For example, suppose that procedure a was invoked from top-
- level, and that it called b, and that b called c. Suppose
- that c invokes the uplevel command. If _l_e_v_e_l is 1 or #2 or
- omitted, then the command will be executed in the variable
- context of b. If _l_e_v_e_l is 2 or #1 then the command will be
- executed in the variable context of a. If _l_e_v_e_l is 3 or #0
- then the command will be executed at top-level (only global
- variables will be visible).
-
- The uplevel command causes the invoking procedure to disap-
- pear from the procedure calling stack while the command is
- being executed. In the above example, suppose c invokes the
- command
-
- uplevel 1 {set x 43; d}
-
- where d is another Tcl procedure. The set command will
- modify the variable x in b's context, and d will execute at
- level 3, as if called from b. If it in turn executes the
- command
-
- uplevel {set x 42}
- then the set command will modify the same variable x in b's
- context: the procedure c does not appear to be on the call
- stack when d is executing. The command ``info level'' may
- be used to obtain the level of the current procedure.
-
- Uplevel makes it possible to implement new control con-
- structs as Tcl procedures (for example, uplevel could be
-
-
-
- Tcl 1
-
-
-
-
-
-
- uplevel(n) Tcl Built-In Commands
-
-
-
- used to implement the while construct as a Tcl procedure).
-
-
- KEYWORDS
- context, stack frame, variables
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tcl 2
-
-
-
-